0x8A - Trigger Edit
-------------------
Client->Server:Yes
Server->Client:Yes
Length:dynamic

byte 0x8A
short size
byte command
ushort extra
ushort length
byte[length] data

Incoming Commands:
	0x01 - Open
		big int serial
		big int artworkID
		big int numScripts
		big int numVariables

		loop x numScripts
		{
			char[] scriptName
			byte 0x00 - null
		}
		
		loop x numVariables
		{
			char[] variableName
			byte 0x00 - null
			big int variableType
			
			if(variableType == 0x00) // int
			{
				big int value
			}
			else if(variableType == 0x01) // str
			{
				char[] value
				byte null terminator
			}
			else if(variableType == 0x02) // coord
			{
				big uint x
				big uint y
				big int z
			}
			else if(variableType == 0x03) // unsupported type
			{
				// no data
			}
			else if(variableType == 0x04) // uint
			{
				big uint value
			}
		}
	0x02 - Trace Message
		big uint serial
		char[] message
		byte null terminator
	0x04 - Script Message
		uint serial

		optional char[] text

		if only serial present, bark "Script Attached."
	0x07 - 
	0x09 - Show Links
		int
		int
	0x0C - Change Quality
		uint numItemsChanged
	0x0D - Item Info
		extra = artworkID
		if extra == 0 then "Can't find object on server!"
		
		uint objectType
		uint hue
		uint x
		uint y
		int z
		
		uint/bool isDynamic
		
		if(isDynamic)
		{
			uint creationX
			uint creationY
			int creationZ
			uint objectID
			uint quality
			uint miscData
			uint templateID
			
			uint resourceCount
			
			loop x resourceCount
			{
				uint resourceID
				uint type
					0x00 - F[ood]
					0x01 - D[esire]
					0x02 - S[shelter]
					0x03 - P[roduction]
				uint[5] resourceInfo
			}
		}

Outgoing Commands:
	0x01 - Open/Reload
		uint objectID
	0x02 - Add Script
		uint objectID
		char[] scriptName
	0x03 - Delete Script
		uint objectID
		char[] scriptName
	0x04 - Script Message
		uint objectID
		char[] message
	0x05 - Add Variable
		extra == varType
		
		uint objectID
		byte 0x00 - unknown
		char[] varName
		
		switch(varType)
		{
			case 0: // int
				int value
			case 1: // str
				char[] value
			case 2: // coords
				uint x
				uint y
				int z
			case 4: // uint
				uint value
		}
	0x06 - Delete Variable
		uint objectID
		char[] varName
	0x07 - Copy
		same as 0x05
	0x08 - listed by demo server, not in godcli
	0x09 - Show Links
		uint objectID
		char[] filter
	0x0A - listed by demo server, not in godcli
	0x0B - Toggle Place Holders?
	0x0C - Change Quality
		Ctrl+U on God Client
		
		extra = numObjects + 1

		uint quality
		uint[] objectType
	0x0D - Request Item Info
	0x0E - Edit Item Info
		extra == numVariables
		
		uint serial
		uint objectType
		uint hue
		uint x
		uint y
		int z
		uint creationX
		uint creationY
		int creationZ
		uint quality
		uint miscData
	0x0F - Recalc Resources
		Ctrl+E on God Client
		
		byte 0x00 - null?
	0x10 - RR NPC
		extra == resourceRegionID (1-indexed)
		
		uint left
		uint top
		uint width
		uint height